Protecting data in transit requires encrypting the data on one end of the transmission and then decrypting it at the other end of the transmission. Protecting data in storage requires encrypting the data before storage and then decrypting it after retrieval from storage. The encryption, also know as cryptology, is based on having an encryption algorithm and an encryption key. The encryption algorithms are generally few and known at large. Therefore, protecting data depends largely upon protecting the encryption key itself.
As the computers processor speeds have increased, it has become easier to break these encryption keys by brute force. Hence longer and longer keys are being proposed for use and used. While in the past, 64 and 128 bits were used, the key lengths that are common used today are 256 bits, 384 bits, and 512 bits, the later two in high security applications. As an example, the Advanced Encryption Standard (AES) uses three keys in sequence to create the effect of a longer key, for example three keys each of 64 bits may be used in sequence rather than one key of 192 bits.
It is said that using longer keys for security provides a temporary advantage, as the speed of computers would keep increasing and the time it takes to break even longer keys would come down. Using computers in parallel also provides great computing strength that may be used to break longer keys.
Further, a key, that is used repeatedly, has the potential of being broken in other ways by analyzing the encrypted data and the unencrypted data using that key. To overcome this issue, a set of keys, instead of a single key may be stored at each end and an information exchange protocol is then used to select and/or negotiate use of one of these keys for a given session, before the session. In addition to that, each key that is selected for use is made different by various ways. One of which is Xor'ing an harmonically increasing block number to each key, the other is chaining the key to the previous data block. These are deterministic as opposed to random techniques and may be worked around to break the key.
The third issue in encryption and encryption key use is initially generating and then periodically refreshing or regenerating the keys. This requires a great effort, as it requires secure storage and secure distribution to the point of use. The keys are originally created using a random selection of digits that comprise the key. That in itself is a time consuming and difficult process to make sure the key is truly random and is not subject to different forms of attack.
It is the objective of the preferred embodiment to transform encryption keys into stronger keys that may not be broken by brute force. It is also the objective, to increase encryption strength for wireless transmission, internet and data storage security by using stronger keys that are not dependent on using longer encryption keys. It is also the objective of the preferred embodiment to lessen the need for extraordinary effort required in safeguarding keys.